// url 模块提供用于网址处理和解析的实用工具。

/*
  完整的url的组成
    protocol: 协议 http/https/ftp/file/ws/wss
    auth: 权限，包括了用户名和密码
    hostname：主机名，域名
    port: 端口号 http80 https443
    pathname: 路径名 /a/b/c
    search: 查询字符串 ?a=3&b=4
    query: a=3&b=4
    hash: 哈希值 #abc
*/

const str =
  "https://huodong.taobao.com/wow/a/act/tao/dailyact/4634/wupr?spm=a21bo&id=123&name=zhangjun";

// const fn = (str) => {
//   const query = str.split("?")[1]; // spm=a21bo&id=123&name=zhangjun
//   const arr = query.split("&").map((item) => item.split("="));
//   // [ [ 'spm', 'a21bo' ], [ 'id', '123' ], [ 'name', 'zhangjun' ] ]
//   const obj = {};
//   arr.forEach((item) => {
//     obj[item[0]] = item[1];
//   });
//   console.log(obj);
// };

// fn(str);

// const url = require("url");

// url的parse方法可以将url的字符串转成对象形式
// const obj = url.parse(str);
// console.log(obj);
// url的format方法可以将url的对象转成url的字符串
// const str2 = url.format(obj);
// console.log(str2);

// URL是前后端通用的
const obj = new URL(str);
console.log(obj.searchParams.get("name"));
